/**
 * @param
 * 
 */

const climbStairs = function(n) {
    // 动态规划
    // 1. 自底向上
    // 2. 已经搞过递归，状态树总结出来了状态转移方程
    const f = [];
    f[1] = 1;
    f[2] = 2;
    // 迭代 1 2 3 4 ... 回溯...
    for (let i = 3; i <= n; i++) {
        f[i] = f[i - 2] + f[i - 1] // 状态转移方程
    }
    return f[n];
}
console.log(climbStairs(30))